docs: Add some words describing xen-pvdevice
authorPaul Durrant <paul.durrant@citrix.com>
Wed, 13 Nov 2013 16:09:32 +0000 (16:09 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 29 Nov 2013 10:29:05 +0000 (10:29 +0000)
This patch adds a short description of xen-pvdevice to
pci-device-reservations.txt, which contains the canonical list
of device IDs that may be used to create xen-pvdevice instances.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ ijc -- ran expand to de-tabbify ]

docs/misc/pci-device-reservations.txt

index 19bd9d5f81590196699fe688e74692e956c2e9ef..9d6d780acee098e030113bbfa8a39aabe432a014 100644 (file)
@@ -6,8 +6,8 @@ System (subject to the availability of suitable drivers) to make use of
 paravirtualisation features such as disk and network devices etc.
 
 Some Xen vendors wish to provide alternative and/or additional guest drivers
-that can bind to virtual devices. This may be done using the Xen PCI vendor
-ID of 0x5853 and Xen-vendor/device specific PCI device IDs. This file
+that can bind to virtual devices[1]. This may be done using the Xen PCI
+vendor ID of 0x5853 and Xen-vendor/device specific PCI device IDs. This file
 records reservations made within the device ID range in order to avoid
 multiple Xen vendors using conflicting IDs.
 
@@ -29,3 +29,30 @@ Reservations
 0x0002        | Citrix XenServer (grandfathered allocation for XenServer 6.1)
 0xc000-0xc0ff | Citrix XenServer
 0xc100-0xc1ff | Citrix XenClient
+
+[1] Upstream QEMU provides a parameterized device called xen-pvdevice that
+    can be used to host guest drivers. Execute:
+
+    qemu-system-i386 -device xen-pvdevice,help
+
+    for a list of all parameters. The following parameters are relevant to
+    driver binding:
+
+    vendor-id (default 0x5853):     The PCI vendor ID and subsystem vendor
+                                    ID of the device.
+    device-id (must be specified):  The PCI device ID and subsystem device
+                                    ID of the device.
+    revision (default 0x01):        The PCI revision of the device
+
+    Also the size parameter (default 0x400000) can be used to specify the
+    size of the single MMIO BAR that the device exposes. This area may be
+    used by drivers for mapping grant tables, etc.
+
+    Note that the presence of the Xen Platform PCI device is generally a
+    pre-requisite for an additional xen-pvdevice as it is the platform
+    device that provides that IO ports necessary for unplugging emulated
+    devices. See hvm-emulated-unplug.markdown for details of the IO ports
+    and unplug protocol.
+
+    libxl provides support for creation of a single additional xen-pvdevice.
+    See the vendor_device parameter in xl.cfg(5).